#include "my_task.h"
#include "cmsis_os.h"
#include "led.h"
#include "cat1.h"
#include "task.h"

osThreadId led_task_handle;
osThreadId cat1_task_handle;


/**
 * @brief  LED任务函数
 * @params 任务参数
 * @retval 无
 */
void led_task_fun(void const * argument)
{
    static unsigned long space;
    while(1)
    {
        sys_led_toggle();
        osDelay(200);
        //uxTaskGetStackHighWaterMark(NULL);
        //space = xPortGetFreeHeapSize();
    }
}



/**
 * @brief  CAT1任务函数
 * @params 任务参数
 * @retval 无
 */
void cat1_task_fun(void const * argument)
{
    cat1_module_init();
    
    while(1)
    {
        osDelay(200);
        uxTaskGetStackHighWaterMark(cat1_task_handle);
    }
}



/**
 * @brief  创建任务
 * @params 任务参数
 * @retval 无
 */
void create_task(void)
{
    osThreadDef(led_task, led_task_fun, osPriorityNormal, 0, 64);
    led_task_handle = osThreadCreate(osThread(led_task), NULL);
    
    osThreadDef(cat1_task, cat1_task_fun, osPriorityNormal, 0, 512);
    cat1_task_handle = osThreadCreate(osThread(cat1_task), NULL);
}

